package com.guoyu.project.common.utils;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SHA256Utils {
	
	public static void main(String[] args) {
		System.out.println(SHA256Utils.getSHA256String("123"));
	}
	
	public static String getSHA256String(String str){
		String SHA256Str = null;
		try {
			MessageDigest md = MessageDigest.getInstance("SHA-256");
			md.update(str.getBytes("UTF-8"));
			SHA256Str = byte2Hex(md.digest());
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return SHA256Str;
	}

	/**

	* 将byte转为16进制

	* @param bytes

	* @return

	*/

	private static String byte2Hex(byte[] bytes){

		StringBuffer stringBuffer = new StringBuffer();

		String temp = null;

		for (int i=0;i<bytes.length;i++){

			temp = Integer.toHexString(bytes[i] & 0xFF);

			if (temp.length()==1){

				//1得到一位的进行补0操作

				stringBuffer.append("0");

			}

			stringBuffer.append(temp);

		}

		return stringBuffer.toString();

	}
	
	
}
